/*
小明在中学会求一个数的 n 次方了，但计算机还不会，请你来编写一个程序吧。由于计算机比较“笨”，所以我们编写程序的功能不用太强，只要能算出 a 的 n 次方的最后 3 位数就可以了。

输入：

a 和 n 的值。假设 a<=150 。

输出：

求 a 的 n 次方的最后 3 位数。

提示：再想一想，你的方法对吗？你用的是什么数据类型？
*/

/*
测试用例1:
输入：
10 0↵
输出：
The last 3 numbers is 1.↵

测试用例2:
输入：
2 8↵
输出：
The last 3 numbers is 256.↵

测试用例3:
输入：
100 10↵
输出：
The last 3 numbers is 000.↵
*/
#include <iostream>
using namespace std;

int main(int argc, char *argv[]) {
	
	// 接收用户输入
	int a, n;
	cin >> a >> n;
	
	// 计算最后三位数
	int result = 1;
	bool flag = false; // 辅助判断是否应该输出 000
	for (int i=0; i<n; i++)
	{
		result *= a;
		
		if (result > 1000)
		{
			result %= 1000;
			flag = true;
		}
			
	}
	if (flag && result == 0)
		printf("The last 3 numbers is 000.");
	else
		printf("The last 3 numbers is %d.", result);
}